The present invention relates generally to systems and methods for storage devices, and specifically to improving performance of non-volatile memory devices.
Solid-state memory is ubiquitously used in a variety of electronic systems including, for example, consumer electronic devices (e.g., cellular phones, cameras, computers, etc.) and in enterprise computing systems (e.g., hard drives, random access memory (RAM), etc.). Solid-state memory has gained popularity over mechanical or other memory storage techniques due to latency, throughput, shock resistance, packaging, and other considerations. Among these non-volatile memory devices, NAND flash memory devices are popular due to low manufacturing cost for a high degree of integration.
Flash-memory based solid state disk (SSD) drive can contain many flash memory dies. Each flash die can have thousands of physical blocks. Each block can include multiple flash pages. During the lifetime of SSD, the reliability quality of flash blocks may be degraded overtime, and some blocks may be identified as bad blocks and removed from the available flash block list. In some conventional systems, whenever a bad page or word line is found anywhere in a block, the block is marked as a bad block and removed from usage. As explained below, this practice can cause undesirable limitations of the memory device.